package core;

import protocal.*;

public abstract class GimMessageHandle {
	
	/**
	 * 连接服务器回调
	 */
	public abstract void handleConnectServerStart();
	
	/**
	 * 连接服务器成功
	 */
	public abstract void handleConnectServerSuccess();
	
	/**
	 * 连接服务器失败
	 */
	public abstract void handleConnectServerFailed();
	
	/**
	 * 发起认证服务器
	 */
	public abstract void handleAuthServerStart();
	
	/**
	 * 认证服务器成功
	 */
	public abstract void handleAuthServerSuccess();
	
	/**
	 * 认证服务器失败
	 */
	public abstract void handleAuthServerFailed();
	
	/**
	 * 处理普通IM消息
	 */
	public abstract void handleIMMessage(IMMessage im);
	
	/**
	 * 处理群组IM消息
	 */
	public abstract void handleGroupIMMessage(IMMessage im);
	
	/**
	 * 处理群通知消息
	 */
	public abstract void handleGroupNotification(GroupNotification gn);
	
	/**
	 * 处理输入状态消息
	 */
	public abstract void handleMessageInputting(MessageInputing mi);
	
	/**
	 * 处理在线状态消息
	 */
	public abstract void handleOnlineState(MessageOnlineState mos);
	
	/**
	 * 处理设备互踢消息
	 */
	public abstract void handleDeviceKick(DeviceKick dk);
	
	/**
	 * 消息发送成功回调
	 */
	public abstract void handleMessageAck(MessageACK ma);
}
